package com.sunxueqi.project.blog.vo;

import java.io.Serializable;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.sunxueqi.framework.web.vo.BaseVO;

import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author 
 * 
 */
@Data
@NoArgsConstructor
//序列化Json的时候,如果是Null则忽略
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Blog extends BaseVO implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	private String id;

	/**
	 * 分类id
	 */
	@NotNull(message = "分类ID不能为空")
	private String categoryId;

	/**
	 * 文章标题
	 */
	@Length(min = 2, max = 100, message = "文章标题不能为空，且长度为{min}~{max}个字符")
	private String title;

	/**
	 * 摘要
	 */
	@NotNull(message = "摘要不能为空")
	@Length(min = 10, max = 200, message = "摘要不能为空，且长度为{min}~{max}个字符")
	private String summary;

	/**
	 * 封面图片地址
	 */
	private String headerImg;

	/**
	 * 封面类型（0表示没有，1表示普通，2表示大图）
	 */
	private String headerImgType;

	/**
	 * html格式化后正文内容的存放地址
	 */
	@NotNull(message = "正文内容不能为空")
	private String content;

	/**
	 * 是否为草稿（1为已发表，0草稿箱）
	 */
	@NotNull(message = "状态设置不能为空")
	private String isDraft;

	/**
	 * 是否允许评论（1表示允许，0表示不允许）
	 */
	@NotNull(message = "评论设置不能为空")
	private String allowComment;

	/**
	 * 是否为推荐文章（1表示是，0表示不是）
	 */
	@NotNull(message = "推荐设置不能为空")
	private String isSupport;

	/**
	 * 点击数
	 */
	private Integer click;

	/**
	 * 点赞数
	 */
	private Integer isLike;

   
}